//<script>
var combobox_productos = Ext.create('Ext.form.ComboBox', {
    valueField: 'id',
    displayField: 'descripcion',
    name:'producto_id',
    fieldLabel: 'Descripción de Producto',
    store: Ext.create('Ext.data.JsonStore',{
        proxy: {
            type:'ajax',
            actionMethods:{read:'POST'},
            api:{read: BASE_URL+'productos/llenarCombo'},
            reader:{type: 'json',root: 'data',totalProperty: 'total',idProperty: 'productos'}
        },
        fields: ['id','descripcion'],
        autoLoad:true
    }),
    queryMode: 'local'
});
var form_compra_producto = Ext.create('Ext.form.Panel', {
    bodyStyle:'padding:5px 5px 0',
    fieldDefaults: {
        msgTarget: 'side',
        labelWidth: 75
    },
    defaultType: 'numberfield',
    defaults: {
        anchor: '100%',
        minValue: 1,
        hideTrigger: true,
        keyNavEnabled: false,
        mouseWheelEnabled: false
    },
    items: [
        {fieldLabel: 'Cantidad',name: 'cant',allowBlank:false},
        combobox_productos,
        {fieldLabel: 'Costo',name: 'costo',allowBlank:false,decimalSeparator:'.'}
    ],
    buttons: [
        {
            text:'Agregar',
            handler:function(){
                var form = form_compra_producto.getForm();

                if(form.isValid()){
                    var band = true;
                    if(combobox_productos.getStore().find('descripcion',combobox_productos.getRawValue()) == -1 ){
                        Ext.MessageBox.show({
                            title: 'Error de Validación',
                            msg: combobox_productos.getFieldLabel() + ' debe contener valores existentes en la lista.',
                            icon: Ext.MessageBox.ERROR,
                            buttons: Ext.Msg.OK
                        });
                        combobox_productos.setValue('');
                        band = false;
                    }
                    if(band){
                        var dataForm = form.getValues();
                        var record = combobox_productos.findRecord('id',dataForm.producto_id);
                        var data = {
                            cant: dataForm.cant,
                            costo: dataForm.costo,
                            importe: (dataForm.cant * dataForm.costo),
                            producto_id: record.get('id'),
                            producto_nombre: record.get('descripcion')
                        }
                        Ext.getCmp('<?php echo $updateGrid?>').getStore().fireEvent('create', data);
                        this.up('window').destroy();
                    }
                }
            }
        },
        {
            text:'Limpiar',
            handler:function(){form_compra_producto.getForm().reset();}
        }
    ]
});

Ext.create('Ext.Window', {
    title:'Formulario de Producto Comprado',
    layout: 'fit',
    modal: true,
    items: [form_compra_producto]
}).show();